#ifndef BOX_H
#define BOX_H

#include "types.h"

void
BOX_Allocate(BOX *box, int width, int height);

void
BOX_Free(BOX *box);

void
BOX_Clear(BOX *box);

void
BOX_SetPixelColor(BOX *box, int x, int y, unsigned char c);

void
BOX_SetPixelRGB8(BOX *box, int x, int y, unsigned char r, unsigned char g, unsigned char b);

void
BOX_SetPixelRGB16(BOX *box, int x, int y, unsigned char r, unsigned char g, unsigned char b);

void
BOX_SetPixelRGB24(BOX *box, int x, int y, unsigned char r, unsigned char g, unsigned char b);

void
BOX_SetPixelRGB32(BOX *box, int x, int y, unsigned char r, unsigned char g, unsigned char b);

void
BOX_SetPixelRGBA(BOX *box, int x, int y, unsigned char r, unsigned char g, unsigned char b, unsigned char a);

void
BOX_GetPixelColor(BOX *box, int x, int y, unsigned char *c);

void
BOX_GetPixelRGB8(BOX *box, int x, int y, unsigned char *r, unsigned char *g, unsigned char *b);

void
BOX_GetPixelRGB16(BOX *box, int x, int y, unsigned char *r, unsigned char *g, unsigned char *b);

void
BOX_GetPixelRGB24(BOX *box, int x, int y, unsigned char *r, unsigned char *g, unsigned char *b);

void
BOX_GetPixelRGB32(BOX *box, int x, int y, unsigned char *r, unsigned char *g, unsigned char *b);

void
BOX_GetPixelRGBA(BOX *box, int x, int y, unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a);

void
BOX_SetImage(BOX *box, char *image);

void
BOX_GetImage(BOX *box, char *image);

#endif
